前端面试
http://www.thatjsdude.com/interview http://www.cnblogs.com/LO-ME/p/3606675.html
移动端混合式 原生
前端动画:
- DOM 动画,位置变化
- svg path 动画
- css3 动画
微信开发、小程序
vue 源码 阿里经常问
https://github.com/getify/You-Dont-Know-JS/blob/master/up%20%26%20going/ch1.md
https://github.com/wwwebman/front-end-interview-questions
https://segmentfault.com/a/1190000010880049
http://www.jianshu.com/p/99d9eda110f6
javascript 设计模式与开发实践 曾探著
webgl: https://developer.mozilla.org/zh-CN/docs/learn/WebGL http://www.jianshu.com/p/e3d8a244f3d9
rxjs: http://reactivex.io/rxjs/ https://yq.aliyun.com/articles/65027 https://segmentfault.com/a/1190000008464065
https://github.com/qiu-deqing/google
http://www.cnblogs.com/weiqu/p/5860945.html
vue react 源码解析
https://segmentfault.com/a/1190000006599500
https://github.com/berwin/Blog/issues/11
https://github.com/cucygh/es6-vue-react-gulp
Build the layout and interactions of common web applications, such as the Netflix browser site. Implement widgets like a date picker, carousel or e-commerce cart. Write a function similar to debounce or clone an object deeply.
Execution context, especially lexical scope and closures. Hoisting, function & block scoping and function expressions & declarations. Binding – specifically call, bind, apply and lexical this. Object prototypes, constructors and mixins. Composition and high order functions. Event delegation and bubbling. Type Coercion using typeof, instanceof and Object.prototype.toString. Handling asynchronous calls with callbacks, promises, await and async. When to use function declarations and expressions.
DOM
How to traverse and manipulate the DOM is important, and this is where most candidates struggle if they have been depending on jQuery or have been writing a lot of React & Angular type apps recently. You might not do this on a daily basis since most of us are using an abstraction of sorts, but without using a library you should know how to do the following:
Selecting or finding nodes using document.querySelector and in older browsers document.getElementsByTagName. Traversal up and down – Node.parentNode, Node.firstChild, Node.lastChild and Node.childNodes. Traversal left and right – Node.previousSibling and Node.nextSibling. Manipulation – add, remove, copy, and create nodes in the DOM tree. You should know operations such as how to change the text content of a node and toggle, remove or add a CSS classname. Performance – touching the DOM can be expensive when you have many nodes, you should at least know about document fragments and node caching.
1、手写 jsonp 的实现
2、手写链表倒数第 K 个查找 3、http 请求头,请求体,cookie 在哪个里面?url 在哪里面? 4、原型链的解释 5、对闭包的理解,实现一个暴露内部变量,而且外部可以访问修改的函数 6、基本的数据类型
7、基本的两列自适应布局
8、unix 中常用的命令行
9、OSI 模型,HTTP,TCP,UDP 分别在哪些层
10、解释平衡二叉树,以及在数据结构中的应用(红黑树)
11、快排的时间复杂度和空间复杂度
12、手写一个 jQuery 插件
13、在 jquery 方法和原型上面添加方法的区别和实现,以及 jquery 对象的实现
14、手写一个递归函数
15、对前端路由的理解?前后端路由的区别?
16、介绍一下 webpack 和 gulp,以及项目中具体的使用
17、你对 es6 的了解
18、解释一下 vue 和 react,以及异同点
19、关于平衡二叉树
20、前后端分离的意义以及对前端工程化的理解
21、使用 css 实现一个三角形
22、用 promise 手写 ajax
23、手写一个类的继承,并解释一下
24、解释一下 call 函数和 apply 函数的作用,以及用法
25、你说自己抗压能力强,具体表现在哪里?
26、对前端前景的展望,以后前端会怎么发展
27、手写第一次面试没有写出来的链表问题,要求用 es6 写
28、平时是怎么学技术的?
29、平时大学里面时间是怎么规划的?
30、接下来有什么计划?这个学期和下个学期的计划是?
31、项目中遇到的难点,或者你学习路上的难点
32、你是通过什么方法和途径来学习前端的
33、手写一个简单遍历算法
34、解释一下 react 和 vue,以及区别
35、你在团队中更倾向于什么角色?
36、对 java 的理解
37、介绍 node.js,并且介绍你用它做的项目
38、手写一个 js 的深克隆
39、for 函数里面 setTimeout 异步问题
40、手写归并排序
41、介绍自己的项目
42、实现两个数组的排序合并
43、手写一个原生 ajax
44、手写一个 promise 版的 ajax
45、手写实现一个 promise
46、手写实现 requireJS 模块实现
47、手写实现 jquery 里面的 insertAfter
48、react 和 vue 的介绍以及异同
49、AMD 和 CMD,commonJS 的区别
50、介绍一下 backbone
51、了解过 SEO 吗?
52、低版本浏览器不支持 HTML5 标签怎么解决?
53、用 js 使低版本浏览器支持 HTML5 标签 底层是怎么实现的?
54、实现一个布局:左边固定宽度为 200,右边自适应,而且滚动条要自动选择只出现最高的那个
55、画出盒子模型,要使谷歌浏览器的盒子模型显示得跟 IE 浏览器一致(让谷歌跟 ie 一致,不是 ie 跟谷歌一致),该怎么做?
56、手写 JS 实现类继承,讲原型链原理,并解释 new 一个对象的过程都发生了什么
57、Array 对象自带的方法,一一列举
58、若干个数字,怎么选出最大的五个
59、Array 对象自带的排序函数底层是怎么实现的?
60、常用的排序算法有哪些,介绍一下选择排序
61、了解 navigator 对象吗?
62、手写一个正则表达式,验证邮箱
63、link 和@import 引入 CSS 的区别?
64、刚才说有些浏览器不兼容@import,具体指哪些浏览器?
65、介绍一下 cookie,localstorage,sessionstorage,session
66、jquery 绑定 click 的方法有几种
67、你的优点/竞争力
68、移动端适配问题
69、react 的难点在哪里
70、做过 css 动画吗
71、如何优化网站
72、以后的规划
73、你做过最困难的事情是啥?
74、css3 html5 新特性
75、闭包,ES6,跨域
76、问做过啥项目,用到什么技术,遇到什么困难
77、兼容性
78、盒子模型
79、Array 的 unshift() method 的作用是什么?如何连接两个 Array?如何在 Array 里移除一个元素?
80、用纸笔写一个 Closure,任意形式和内容
81、知不知道 Array-like Object?
82、如何用 Native JavaScript 来读写 Cookie?
83、知不知道 CSS Box-model?
84、如何做一个 AJAX Request?
85、Cross-domain access 有没有了解?
86、前端安全方面有没有了解?XSS 和 CSRF 如何攻防?
87、HTTP Response 的 Header 里面都有些啥?
88、知不知道 HTTP2?
89、输入 URL 后发生了什么?
90、new operator 实际上做了什么?
91、面向对象的属性有哪些?
92、做一个两栏布局,左边 fixed width,右边 responsive,用纸笔手写
93、讲一下 AJAX Request
94、讲一下 Cross-domain access
95、介绍一下做过的项目
96、问到了多个服务器怎么弄,架构之类的
97、angular 的渲染流程
98、脏检查
99、nodejs 的架构、优缺点、回调
100、css 盒模型
101、css 布局,左边定宽右边自适应
102、冒泡和捕获,事件流哪三个阶段?
103、实现事件代理
104、原型链
105、继承的两种方法
106、ajax,原生 ajax 的四个过程
107、闭包,简单说一个闭包的应用,然后闭包的主要作用是什么
108、css:两个块状元素上下的 margin-top 和 margin-bottom 会重叠。啥原因?怎么解决?
109、js:写一个递归。就是每隔 5 秒调用一个自身,一共 100 次
110、cookie 和 session 有什么区别
111、网络分层结构
112、你的不足是什么?
113、做了那么多项目,有没有自己的归纳总结
114、工程怎么进行文件管理
115、less 和 sass 掌握程度
116、Cookie 是否会被覆盖,localStorage 是否会被覆盖
117、事件代理 js 实现
118、Css 实现动画效果
119、Animation 还有哪些其他属性
120、Css 实现三列布局
121、Css 实现保持长宽比 1:1
122、Css 实现两个自适应等宽元素中间空 10 个像素
123、requireJS 的原理是什么
124、如何保持登录状态
125、浮动的原理以及如何清除浮动
126、Html 的语义化
127、原生 js 添加 class 怎么添加,如果本身已经有 class 了,会不会覆盖,怎么保留?
128、Jsonp 的原理。怎么去读取一个 script 里面的数据?
129、如果页面初始载入的时候把 ajax 请求返回的数据存在 localStorage 里面,然后每次调用的时候去 localStorage 里面取数,是否可行。
130、304 是什么意思?有没有方法不请求不经过服务器直接使用缓存
131、http 请求头有哪些字段
132、数组去除一个函数。用 arr.splice。又问 splice 返回了什么?应该返回的是去除的元素。
133、js 异步的方法(promise,generator,async)
134、Cookie 跨域请求能不能带上
135、最近看什么开源项目?
136、commonJS 和 AMD
137、平时是怎么学习的?
138、为什么要用 translate3d?
139、对象中 key-value 的 value 怎么再放一个对象?
140、Get 和 post 的区别?
145、Post 一个 file 的时候 file 放在哪的?
146、说说你对组件的理解
147、组件的 html 怎么进行管理
148、js 的异步加载,promise 的三种状态,ES7 中的 async 用过么
149、静态属性怎么继承
150、js 原型链的继承
151、jquery 和 zepto 有什么区别
152、angular 的双向绑定原理
153、angular 和 react 的认识
154、MVVM 是什么
155、移动端是指手机浏览器,还是 native,还是 hybrid
156、你用了移动端的什么库类和框架?
157、移动端要注意哪些?
158、适配有去考虑么,retina 屏幕啊?
159、rem 是什么?em 是什么?如果上一层就是根 root 了,em 和 rem 等价么?
160、怎么测试的?会自动化测试么?
161、你觉得你什么技术最擅长?
162、你平时有没有什么技术的沉淀?
163、单向链表怎么查找有没有环?
164、怎么得到一个页面的 a 标签?
165、怎么在页面里放置一个很简单的图标,不能用 img 和 background-img?
166、正则表达式判断 url
167、怎么去除字符串前后的空格
168、实现页面的局部刷新
169、绝对定位与相对定位的区别
170、js 轮播实现思路
171、使用 js 画一个抛物线,抛物线上有个小球随着抛物线运动,有两个按钮能使小球继续运动停止运动
172、java 五子棋,说下实现思路
173、如何让各种情况下的 div 居中(绝对定位的 div,垂直居中,水平居中)?
174、display 有哪些值?说明他们的作用
175、css 定义的权重
176、requirejs 实现原理
177、requirejs 怎么防止重复加载
178、ES6 里头的箭头函数的 this 对象与其他的有啥区别
179、tcp/udp 区别
180、tcp 三次握手过程
181、xss 与 csrf 的原理与怎么防范
182、mysql 与 MongoDB 的区别
183、w3c 事件与 IE 事件的区别
184、有没有上传过些什么 npm 模块
185、IE 与 W3C 怎么阻止事件的冒泡
186、gulp 底层实现原理
187、webpack 底层实现原理
188、gulp 与 webpack 区别
189、vuejs 与 angularjs 的区别
190、vuex 是用来做什么的
191、说下你知道的响应状态码
192、ajax 的过程以及 readyState 几个状态的含义
193、你除了前端之外还会些什么?
194、cookie 与 session 的区别
195、一些关于 php 与 java 的问题
196、你觉得你哪个项目是你做的最好的
197、说说你在项目中遇到了哪些困难,是怎么解决的
198、前端优化你知道哪些
199、webpack 是用来干嘛的
200、webpack 与 gulp 的区别
201、es6 与 es7 了解多少
202、说下你知道的响应状态码
203、看过哪些框架的源码
204、遇到过哪些浏览器兼容性问题
205、清除浮动有哪几种方式,分别说说
206、你知道有哪些跨域方式,分别说说
207、JavaScript 有哪几种类型的值
208、使用 new 操作符时具体是干了些什么
209、学习前端的方法以及途径
210、怎么实现两个大整数的相乘,说下思路
211、你学过数据结构没,说说你都了解些什么
212、你学过计算机操作系统没,说说你都了解些什么
213、你学过计算机组成原理没,说说你都了解些什么
214、你学过算法没,说说你都了解些什么
215、说下选择排序,冒泡排序的实现思路
216、用过哪些框架
217、让你设计一个前端 css 框架你怎么做
218、了解哪些设计模式说说看
219、说下你所了解的设计模式的优点
220、vue 源码结构
221、状态码
222、浏览器缓存的区别
223、304 与 200 读取缓存的区别
224、http 请求头有哪些,说说看你了解哪些
225、js 中 this 的作用
226、js 中上下文是什么
227、js 有哪些函数能改变上下文
228、你所了解的跨域的方法都说说看你了解的?
229、要是让你自己写一个 js 框架你会用到哪些设计模式
230、平常在项目中用到过哪些设计模式,说说看
231、一来给了张纸要求写 js 自定义事件
232、前端跨域的方法
233、call 与 apply 的区别
234、h5 有个 api 能定位你知道是哪个吗?
235、vue 与 angularjs 中双向数据绑定是怎样实现的?
236、webpack 怎样配置?
237、nodejs 中的文件怎么读写?
238、link 和@import 有什么区别?
239、cookies,sessionStorage 和 localStorage 的区别
240、看过哪些前端的书?平时是怎么学习的
241、说下你所理解的 mvc 与 mvvc
242、position 有哪些值,说下各自的作用
243、写个从几个 li 中取下标的闭包代码
244、你的职业规划是怎么样的?
245、移动端性能优化
246、lazyload 如何实现
247、点透问题
248、前端安全
249、原生 js 模板引擎
250、repaint 和 reflow 区别
251、requirejs 如何避免循环依赖?
252、实现布局:左边一张图片,右边一段文字(不是环绕)
253、window.onload 和$(document).ready()的区别,浏览器加载转圈结束时哪个时间点?
254、form 表单当前页面无刷新提交 target iframe
255、setTimeout 和 setInterval 区别,如何互相实现?
256、如何避免多重回调—promise,promise 简单描述一下,如何在外部进行 resolve()
257、margin 坍塌?水平方向会不会坍塌?
258、伪类和伪元素区别
259、vue 如何实现父子组件通信,以及非父子组件通信
260、数组去重
261、使用 flex 布局实现三等分,左右两个元素分别贴到左边和右边,垂直居中
262、平时如何学前端的,看了哪些书,关注了哪些公众号
263、实现 bind 函数
264、数组和链表区别,分别适合什么数据结构
265、对 mvc 的理解
266、描述一个印象最深的项目,在其中担任的角色,解决什么问题
267、http 状态码。。。401 和 403 区别?
268、描述下二分查找
269、为什么选择前端,如何学习的,看了哪些书,《js 高级程序设计》和《你不知道的 js》有什么区别,看书,看博客,看公众号三者的时间是如何分配的?
270、如何评价 BAT?
271、描述下在实习中做过的一个项目,解决了什么问题,在其中担任了什么角色?这个过程存在什么问题,有什么值得改进的地方?
272、如何看待加班,如果有个项目需要连续一个月加班,你怎么看?
273、遇到的压力最大的一件事是什么?如何解决的?
274、平时有什么爱好
275、自身有待改进的地方
276、n 长的数组放入 n+1 个数,不能重复,找出那个缺失的数
277、手里有什么 offer
278、你对于第一份工作最看重的三个方面是什么?
279、如何评价现在的前端?
280、用原生 js 实现复选框选择以及全选非全选功能
281、用 4 个颜色给一个六面体上色有多少种情况
282、amd 和 cmd 区别
283、为什么选择前端,移动端性能优化
284、vue 的特点?双向数据绑定是如何实现的
285、Object.defineProperty
286、算法题:数组去重,去除重复两次以上的元素,代码题:嵌套的 ul-li 结构,根据 input 中输入的内容,去除相应的 li 节点,且如果某个嵌套的 ul 下面的 li 都被移除,则该 ul 的父 li 节点也要被移除
287、页面加载过程
288、浏览器如何实现图片缓存